Analyzing demand in non-strict functional programming languages
نویسنده
چکیده
ion, 18, 67, 81, 82,see also λx.saccept, 114application, 18, 52, 66, 67,115, 126, 131–133,228, 229, 254, 255,257, see also ruleapplicationapproximation, 10, 88, 89,93, 94, 123, 150set-based, 14argument, 87argument context, 76, 76, 77,78 blank symbol, 113, 114 case, 18co-domain, 20, 100, 206combinator, 23fixpoint, 34, 35, 79, 81complete, 163, 171, 177, 181externally, 182, 193–195internally, 181complete lattice, 10, 89, 90,96component, 62, 87, 87, 97,98, 100, 107, 122–124, 150, 152, 164,167, 204–206, 212,217, 223, 256of a union, 189, 201computation, 8, 9, 14, 15,114, 114, 115, 117–119, 121, 122, 261accepting, 122infinite, 199concretization, 10, 11, 85,105, 105, 108, 109,126, 143, 144, 147,167, 177, 179, 180,227, 229configuration, 114, 114, 119final, 114, 114start, 114, 114, 116constructor, 17, 18, 18, 32,50–53, 56, 59, 67,
منابع مشابه
Non-Strict Languages - Programming and Implementation
Non-strict evaluation improves the expressive power of functional languages at the expense of an apparent loss of eeciency. In this paper we give examples of this expressive power, taking as an example an interactive functional program and describing the programming techniques depending on non-strict evaluation which improved its design. Implementation methods for non-strict languages have deli...
متن کاملReflecting Demand in Programming Logics: a case study for Haskell
Haskell is a functional programming language whose evaluation is lazy by default. However, Haskell also provides pattern matching facilities which add a modicum of eagerness to its otherwise lazy default evaluation. This mixed or “non-strict” semantics can be quite difficult to reason with. This paper introduces a programming logic, P-logic, which neatly formalizes the mixed evaluation in Haske...
متن کاملPartitioning Non-strict Functional Languages for Partitioning Non-strict Functional Languages for Multi-threaded Code
In this paper, we present a new approach to partitioning, the problem of generating sequential threads for programs written in a non-strict functional language. The goal of partitioning is to generate threads as large as possible, while retaining the non-strict semantics of the program. We deene partitioning as a program transformation and design algorithms for basic block partitioning and inte...
متن کاملSemantics of Barriers in a Non-strict, Implicitly-parallel Language Semantics of Barriers in a Non-strict, Implicitly-parallel Language
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers in...
متن کاملSemantics of Barriers in a Non - Strict ,
Barriers in parallel languages may be used to schedule parallel activities, control memory usage and ensure proper sequentialization of side-eeects. In this paper, we present operational semantics of barriers in Id and pH, which are non-strict, implicitly-parallel, functional languages extended with side-eeects. The semantics are presented as a translation from a source language with barriers i...
متن کامل